// The following ifdef block is the standard way of creating macros which make exporting 
// from a DLL simpler. All files within this DLL are compiled with the ISAPI_PYTHON_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see 
// ISAPI_PYTHON_API functions as being imported from a DLL, whereas this DLL sees symbols
// defined with this macro as being exported.
//#ifdef ISAPI_PYTHON_EXPORTS
//#define ISAPI_PYTHON_API __declspec(dllexport)
//#else
//#define ISAPI_PYTHON_API __declspec(dllimport)
//#endif

BOOL WINAPI GetExtensionVersion(HSE_VERSION_INFO* pVer);
DWORD WINAPI HttpExtensionProc(LPEXTENSION_CONTROL_BLOCK lpECB);
BOOL WINAPI TerminateExtension(DWORD dwFlags);

DWORD FASTCALL ProcessPythonRequest(LPVOID threadData);
void InitPython();
//define HEAP_LFH 2

//static HANDLE Isapi_Heap = NULL;

//define MiB(x) (x) * 1024 * 1024

//include <new>

/* Override new and delete operators to use our local heap */
//void* operator new(std::size_t size) throw(std::bad_alloc) {
//	void* p = HeapAlloc(Isapi_Heap, 0, size);
//	if (p == 0) {
//		throw std::bad_alloc();
//	}
//	return p;
//}
//
//void operator delete(void* p) {
//	HeapFree(Isapi_Heap, 0, p);
//}
//
//void* operator new[](size_t size) throw(std::bad_alloc) {
//
//}
//
//void operator delete[](void* p) {
//
//}
